CSSã°ãªããã®ååä»ãã©ã€ã³ã®åãæ¢æ±ãããã®è§£æ±ºæ¹æ³ãã©ã€ã³åç §ã®èšç®ãæè»ã§ä¿å®æ§ã®é«ãã¬ã€ã¢ãŠããæ§ç¯ããããã®ãã¹ããã©ã¯ãã£ã¹ãçè§£ããŸãã
CSS ã°ãªããã®ååä»ãã©ã€ã³è§£æ±ºã®è§£æïŒå æ¬çã¬ã€ã
CSS ã°ãªããã¬ã€ã¢ãŠãã¯ãWebéçºã«ãããŠè€éã§ã¬ã¹ãã³ã·ããªã¬ã€ã¢ãŠããäœæããããã®åŒ·åãªããŒã«ã§ãããã®æã䟿å©ãªæ©èœã®1ã€ã¯ãã°ãªããã©ã€ã³ã«ååãä»ããæ©èœã§ãããããã«ãããããã»ãã³ãã£ãã¯ã§ä¿å®æ§ã®é«ãã³ãŒããå¯èœã«ãªããŸããããããCSS ã°ãªããããããã®ååä»ãã©ã€ã³ãã©ã®ããã«è§£æ±ºããããç¹ã«è€æ°ã®ã©ã€ã³ãåãååãå ±æããå Žåã«ã©ããªãããçè§£ããããšã¯ãç®çã®ã¬ã€ã¢ãŠããéæããããã«äžå¯æ¬ ã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ãCSS ã°ãªããã®ååä»ãã©ã€ã³è§£æ±ºã®è€éããã©ã€ã³åç §ã®èšç®ã«ã€ããŠè©³ãã解説ãããã®éèŠãªæŠå¿µãç¿åŸããããã®å®è·µçãªäŸãæäŸããŸãã
ååä»ãã°ãªããã©ã€ã³ãšã¯ïŒ
CSS ã°ãªããã«ãããŠãã°ãªããã©ã€ã³ãšã¯ã°ãªããã®æ§é ãå®çŸ©ããæ°Žå¹³ç·ãšåçŽç·ã®ããšã§ããããã©ã«ãã§ã¯ããããã®ã©ã€ã³ã¯1ããå§ãŸãæ°å€ã€ã³ããã¯ã¹ã§åç §ãããŸããååä»ãã°ãªããã©ã€ã³ã䜿çšãããšããããã®ã©ã€ã³ã«æå³ã®ããååãå²ãåœãŠãããšãã§ããã³ãŒããããèªã¿ããããçè§£ãããããªããŸããããã¯ãæ°å€ã€ã³ããã¯ã¹ãèŠããã®ãé¢åã«ãªãè€éãªã¬ã€ã¢ãŠããæ±ãå Žåã«ç¹ã«äŸ¿å©ã§ãã
ååä»ãã°ãªããã©ã€ã³ã¯ãgrid-template-columns ããã³ grid-template-rows ããããã£ã䜿çšããŠå®çŸ©ã§ããŸããæ§æã¯ãããããã£ã®å€ã®äžã§ã©ã€ã³åãè§æ¬åŒ§ [] ã§å²ã圢åŒã§ãã
äŸïŒåºæ¬çãªååä»ãã°ãªããã©ã€ã³
.grid-container {
display: grid;
grid-template-columns: [col-start] 1fr [col-middle] 1fr [col-end];
grid-template-rows: [row-start] 1fr [row-middle] 1fr [row-end];
}
.grid-item {
/* Position the item using named lines */
grid-column-start: col-start;
grid-column-end: col-end;
grid-row-start: row-start;
grid-row-end: row-end;
}
ãã®äŸã§ã¯ãåãšè¡ã®äž¡æ¹ã«ååä»ãã©ã€ã³ãå®çŸ©ããŸããããã㊠.grid-item ã¯ããããã®ååä»ãã©ã€ã³ã䜿çšããŠé
眮ãããŸãã
åãååãæã€è€æ°ã®ã©ã€ã³ã®å
CSS ã°ãªããã®ããŸãç¥ãããŠããªãããããéåžžã«åŒ·åãªæ©èœã®1ã€ã¯ãè€æ°ã®ã°ãªããã©ã€ã³ã«åãååãå²ãåœãŠãæ©èœã§ããããã«ãããã°ãªããã¬ã€ã¢ãŠãå ã«ç¹°ãè¿ããã¿ãŒã³ãäœæã§ããè€éãªãã¶ã€ã³ã®ç®¡çã容æã«ãªããŸããããããåæã«ãCSS ã°ãªããããããã®ææ§ãªåç §ãã©ã®ããã«è§£æ±ºããããçè§£ããå¿ èŠæ§ãçããŸãã
äŸïŒç¹°ãè¿ãã®ååä»ãã©ã€ã³
.grid-container {
display: grid;
grid-template-columns: [col-start] 1fr [col-end col-start] 1fr [col-end];
grid-template-rows: [row-start] 1fr [row-end row-start] 1fr [row-end];
}
.grid-item-1 {
grid-column-start: col-start 1;
grid-column-end: col-end 1;
grid-row-start: row-start 1;
grid-row-end: row-end 1;
}
.grid-item-2 {
grid-column-start: col-start 2;
grid-column-end: col-end 2;
grid-row-start: row-start 2;
grid-row-end: row-end 2;
}
ãã®ã±ãŒã¹ã§ã¯ãåãšè¡ã®äž¡æ¹ã« col-start/col-end ãš row-start/row-end ãšããååãç¹°ãè¿ãããŠããŸããç¹å®ã®ã©ã€ã³ãã¿ãŒã²ããã«ããã«ã¯ãååã®åŸã«ã¹ããŒã¹ãå
¥ããéžæãããã©ã€ã³ã®ã€ã³ããã¯ã¹ãæå®ããŸãã
CSS ã°ãªããã®ååä»ãã©ã€ã³è§£æ±ºïŒã¢ã«ãŽãªãºã
åãååã®ã©ã€ã³ãè€æ°ããå ŽåãCSS ã°ãªããã¯ç¹å®ã®ã¢ã«ãŽãªãºã ã䜿çšããŠãCSSã§åç §ãããšãã«ã©ã®ã©ã€ã³ã䜿çšããããæ±ºå®ããŸãããã®ã¢ã«ãŽãªãºã ã¯ãã¬ã€ã¢ãŠããã©ã®ããã«åäœããããçè§£ããããã«äžå¯æ¬ ã§ãã
解決ããã»ã¹ã¯æ¬¡ã®ããã«èŠçŽã§ããŸãïŒ
- è©³çŽ°åºŠïŒ CSS ã°ãªããã¯ãŸããã©ã€ã³åã䜿çšãããŠããã»ã¬ã¯ã¿ã®è©³çŽ°åºŠãèæ ®ããŸãããã詳现床ã®é«ãã»ã¬ã¯ã¿ãåªå ãããŸãã
- æç€ºç vs. æé»çïŒ æç€ºçã«å®çŸ©ãããã©ã€ã³ïŒ
grid-template-columnsããã³grid-template-rowsã䜿çšïŒã¯ãæé»çã«äœæãããã©ã€ã³ïŒäŸïŒgrid-auto-columnsãgrid-auto-rowsã䜿çšããå ŽåïŒãããåªå ãããŸãã - ã€ã³ããã¯ã¹ããŒã¹ã®è§£æ±ºïŒ è€æ°ã®ã©ã€ã³ãåãååãæã€å Žåãã€ã³ããã¯ã¹ã䜿çšããŠã¿ãŒã²ããã«ãããã©ã€ã³ãæå®ã§ããŸãïŒäŸïŒ
col-start 2ïŒãã€ã³ããã¯ã¹ã¯1ããå§ãŸããŸãã - æ¹åæ§ïŒ 解決ã¯ã
grid-column-start/grid-row-startã䜿çšããŠããããgrid-column-end/grid-row-endã䜿çšããŠãããã«ãã£ãŠã圱é¿ãåããŸãã-startããããã£ã®å Žåãçªå·ä»ãã¯ã°ãªããã®å é ããå§ãŸããŸãã-endããããã£ã®å Žåãçªå·ä»ãã¯ã°ãªããã®æ«å°Ÿããå§ãŸããéæ¹åã«ã«ãŠã³ããããŸãã - è² ã®ã€ã³ããã¯ã¹ïŒ è² ã®ã€ã³ããã¯ã¹ã䜿çšããŠãã°ãªããã©ã€ã³ã®æ«å°Ÿããã«ãŠã³ãããããšãã§ããŸããäŸãã°ã
col-end -1ã¯æåŸã®col-endã©ã€ã³ãæããŸãã
ã€ã³ããã¯ã¹ããŒã¹è§£æ±ºã®è©³çްãªèª¬æ
ã€ã³ããã¯ã¹ããŒã¹ã®è§£æ±ºã«ã€ããŠãããã«è©³ããèŠãŠãããŸããããæ¬¡ã®äŸãèããŠã¿ãŠãã ããïŒ
.grid-container {
display: grid;
grid-template-columns: [a] 1fr [b] 1fr [a] 1fr [b];
grid-template-rows: [c] 1fr [d] 1fr [c] 1fr [d];
}
.grid-item {
grid-column-start: a 2;
grid-column-end: b -1;
grid-row-start: c 1;
grid-row-end: d -2;
}
ãã®ã·ããªãªã§ã¯ïŒ
grid-column-start: a 2;㯠'a' ãšããååã®2çªç®ã®ã©ã€ã³ãéžæããŸããgrid-column-end: b -1;ã¯ã'b' ãšããååã®æåŸã®ã©ã€ã³ãéžæããŸãïŒæ«å°Ÿããã«ãŠã³ãïŒãgrid-row-start: c 1;㯠'c' ãšããååã®æåã®ã©ã€ã³ãéžæããŸããgrid-row-end: d -2;ã¯ã'd' ãšããååã®æåŸãã2çªç®ã®ã©ã€ã³ãéžæããŸãïŒæ«å°Ÿããã«ãŠã³ãïŒã
ãããã®ãã¥ã¢ã³ã¹ãçè§£ããããšã¯ãã°ãªããã¬ã€ã¢ãŠããæ£ç¢ºã«å¶åŸ¡ããããã«äžå¯æ¬ ã§ãã
ã©ã€ã³åç §ã®èšç®ïŒCSS ã°ãªãããããªãã®æç€ºãã©ãè§£éããã
ã©ã€ã³åç §èšç®ãšã¯ãCSS ã°ãªãããšã³ãžã³ãã©ã€ã³åã®åç §ãè§£éããç¹å®ã®ã°ãªããã©ã€ã³ã®äœçœ®ã«å€æããããã»ã¹ã§ãããã®èšç®ã§ã¯ã詳现床ãæç€ºç/æé»çãªå®çŸ©ãã€ã³ããã¯ã¹ãæ¹åæ§ãªã©ãåè¿°ã®ãã¹ãŠã®èŠçŽ ãèæ ®ãããŸãã
èšç®ããã»ã¹ã®å èš³ã¯æ¬¡ã®ãšããã§ãïŒ
- æœåšçãªäžèŽãç¹å®ïŒ ãšã³ãžã³ã¯ãŸããæå®ãããååã«äžèŽãããã¹ãŠã®ã°ãªããã©ã€ã³ãç¹å®ããŸãã
- ã€ã³ããã¯ã¹ã§ãã£ã«ã¿ãªã³ã°ïŒæå®ãããŠããå ŽåïŒïŒ ã€ã³ããã¯ã¹ãæå®ãããŠããå ŽåïŒäŸïŒ
a 2ïŒããšã³ãžã³ã¯æå®ãããã€ã³ããã¯ã¹ã®ã©ã€ã³ã®ã¿ãå«ãããã«äžèŽããã£ã«ã¿ãªã³ã°ããŸãã - æ¹åæ§ãèæ
®ïŒ
-startãŸãã¯-endããããã£ã§ãããã«å¿ããŠããšã³ãžã³ã¯ããããã°ãªããã©ã€ã³ã®å é ãŸãã¯æ«å°Ÿããã«ãŠã³ãããããã«ã€ã³ããã¯ã¹ã調æŽããŸãã - ç«¶åã®è§£æ±ºïŒ ãã£ã«ã¿ãªã³ã°åŸãè€æ°ã®ã©ã€ã³ãäžèŽããå Žåããšã³ãžã³ã¯è©³çŽ°åºŠãšæç€ºç/æé»çãªå®çŸ©ã䜿çšããŠãæ®ãã®ç«¶åã解決ããŸãã
- æçµäœçœ®ã®æ±ºå®ïŒ 次ã«ããšã³ãžã³ã¯éžæãããã°ãªããã©ã€ã³ã®æçµçãªæ°å€äœçœ®ã決å®ããŸãã
äŸïŒã©ã€ã³åç §èšç®ã®å³è§£
.grid-container {
display: grid;
grid-template-columns: [start] 1fr [middle] 1fr [start] 1fr [end];
grid-template-rows: [top] 1fr [center] 1fr [bottom];
}
.item {
grid-column-start: start 2;
grid-column-end: end;
grid-row-start: top;
grid-row-end: bottom;
}
grid-column-start: start 2; ã®ã©ã€ã³åç
§èšç®ãåæããŠã¿ãŸãããïŒ
- æœåšçãªäžèŽãç¹å®ïŒ ãšã³ãžã³ã¯ 'start' ãšããååã®ã©ã€ã³ã2ã€èŠã€ããŸãã
- ã€ã³ããã¯ã¹ã§ãã£ã«ã¿ãªã³ã°ïŒ ã€ã³ããã¯ã¹ '2' ãæå®ãããŠããããããšã³ãžã³ã¯ 'start' ãšããååã®2çªç®ã®ã©ã€ã³ãéžæããŸãã
- æ¹åæ§ãèæ
®ïŒ ããã¯
-startããããã£ãªã®ã§ããšã³ãžã³ã¯å é ããã«ãŠã³ãããŸãã - ç«¶åã®è§£æ±ºïŒ ã€ã³ããã¯ã¹ãåäžã®ã©ã€ã³ãç¹å®ãããããç«¶åã¯ãããŸããã
- æçµäœçœ®ã®æ±ºå®ïŒ æçµçãªäœçœ®ã¯3çªç®ã®åã©ã€ã³ã§ãïŒæåã® 'start' ã©ã€ã³ã1çªç®ã®åã©ã€ã³ã§ã2çªç®ã® 'start' ã©ã€ã³ã3çªç®ã®åã©ã€ã³ã§ããããïŒã
ãããã£ãŠãã¢ã€ãã ã¯3çªç®ã®åã©ã€ã³ããéå§ãããŸãã
ååä»ãã©ã€ã³ã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
ååä»ãã©ã€ã³ã®åã广çã«æŽ»çšããããã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãæ€èšããŠãã ããïŒ
- ã»ãã³ãã£ãã¯ãªååã䜿çšããïŒ ã©ã€ã³ã®ç®çãæç¢ºã«èª¬æããååãéžæããŸããäŸãã°ã
sidebar-startãmain-content-endãheader-bottomã¯ãline1ãcolAã®ãããªäžè¬çãªååããã説æçã§ãã - åœåèŠåã確ç«ããïŒ äžè²«ããåœåèŠåã¯ãã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãåäžãããŸããäŸãã°ãã°ãªããã®é åã瀺ãããã«æ¥é èŸã䜿çšããããšãã§ããŸãïŒäŸïŒ
header-startãheader-endãfooter-startãfooter-endïŒã - ææ§ããé¿ããïŒ è€æ°ã®ã©ã€ã³ã«åãååã䜿çšããããšã¯åŒ·åã§ãããæ³šææ·±ã管çããªããšæ··ä¹±ãæãå¯èœæ§ããããŸããã€ã³ããã¯ã¹ãšè² ã®ã€ã³ããã¯ã¹ã䜿çšããŠãç®çã®ã©ã€ã³ãæç€ºçã«ã¿ãŒã²ããã«ããŸãã
- ã°ãªãããææžåããïŒ CSSã«ã³ã¡ã³ãã远å ããŠãååä»ãã©ã€ã³ã®ç®çãšäœ¿ç𿹿³ã説æããŸããããã¯ãä»ã®éçºè ïŒãããŠå°æ¥ã®ããªãèªèº«ïŒãã°ãªããæ§é ãçè§£ããã®ã«åœ¹ç«ã¡ãŸãã
- éçºè ããŒã«ã䜿çšããïŒ ææ°ã®ãã©ãŠã¶ã®éçºè ããŒã«ã¯ãååä»ãã©ã€ã³ã®èŠèŠåãªã©ãCSS ã°ãªããã¬ã€ã¢ãŠããæ€æ»ããããã®åªããããŒã«ãæäŸããŸãããããã®ããŒã«ã䜿çšããŠãã°ãªããæ§é ããããã°ããçè§£ããŸãã
- ã¢ã¯ã»ã·ããªãã£ãèæ
®ããïŒ CSS ã°ãªããã§äœæãããèŠèŠçãªã¬ã€ã¢ãŠãããé害ãæã€ãŠãŒã¶ãŒã«ãšã£ãŠãã¢ã¯ã»ã¹å¯èœã§ããããšã確èªããŠãã ãããã»ãã³ãã£ãã¯ãªHTMLãšARIA屿§ã䜿çšããŠãã³ã³ãã³ããããã²ãŒããçè§£ããããã®ä»£æ¿æ¹æ³ãæäŸããŸããäŸãã°ãèŠåºãïŒ
h1-h6ïŒãé©åã«äœ¿çšããããšã§ãè«ççãªæ§é ãæäŸã§ããŸãã
å®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹
ååä»ãã©ã€ã³ãå®éã®ã·ããªãªã§ã©ã®ããã«äœ¿çšã§ããããããã€ãã®å®è·µçãªäŸãæ¢ã£ãŠã¿ãŸãããã
1. ã¬ã¹ãã³ã·ããªãŠã§ããµã€ãã¬ã€ã¢ãŠãã®äœæ
ååä»ãã©ã€ã³ã䜿çšããŠãããããŒããµã€ãããŒãã¡ã€ã³ã³ã³ãã³ããšãªã¢ãããã¿ãŒãåããã¬ã¹ãã³ã·ããªãŠã§ããµã€ãã¬ã€ã¢ãŠããäœæã§ããŸããã°ãªããã¯ã¡ãã£ã¢ã¯ãšãªã䜿çšããŠãããŸããŸãªç»é¢ãµã€ãºã«ç°¡åã«èª¿æŽã§ããŸãã
.grid-container {
display: grid;
grid-template-columns: [full-start] minmax(200px, 1fr) [sidebar-start] 250px [sidebar-end main-start] minmax(300px, 3fr) [main-end full-end];
grid-template-rows: [header-start] auto [header-end nav-start] auto [nav-end main-start] 1fr [main-end footer-start] auto [footer-end];
grid-gap: 10px;
}
header {
grid-column: full-start / full-end;
grid-row: header-start / header-end;
}
nav {
grid-column: sidebar-start / main-end;
grid-row: nav-start / nav-end;
}
main {
grid-column: main-start / main-end;
grid-row: main-start / main-end;
}
aside {
grid-column: sidebar-start / sidebar-end;
grid-row: main-start / main-end;
}
footer {
grid-column: full-start / full-end;
grid-row: footer-start / footer-end;
}
@media (max-width: 768px) {
.grid-container {
grid-template-columns: [full-start] 1fr [full-end];
grid-template-rows: [header-start] auto [header-end nav-start] auto [nav-end main-start] 1fr [main-end aside-start] auto [aside-end footer-start] auto [footer-end];
}
nav {
grid-column: full-start / full-end;
}
aside {
grid-column: full-start / full-end;
grid-row: aside-start / aside-end;
}
}
ãã®äŸã¯ãåºæ¬çãªãŠã§ããµã€ãã¬ã€ã¢ãŠããäœæããããã²ãŒã·ã§ã³ãšãµã€ãããŒãã¡ã€ã³ã³ã³ãã³ãã®äžã«ç©ã¿éããããšã§ãå°ããç»é¢ã«é©å¿ãããæ¹æ³ã瀺ããŠããŸãã
2. ã®ã£ã©ãªãŒã¬ã€ã¢ãŠãã®æ§ç¯
ååä»ãã©ã€ã³ã䜿çšããŠãç»åãè€æ°ã®è¡ãåã«ãŸãããããšãã§ãããæè»ã§åçãªã®ã£ã©ãªãŒã¬ã€ã¢ãŠããäœæã§ããŸãã
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-template-rows: [row-start] auto [row-end];
grid-auto-rows: auto;
grid-gap: 10px;
}
.gallery-item:nth-child(1) {
grid-column: 1 / span 2;
grid-row: row-start / span 2;
}
.gallery-item:nth-child(2) {
grid-column: 3 / span 1;
grid-row: row-start / span 1;
}
/* Add more gallery items with different spans */
ãã®äŸã¯ãæåã®ã®ã£ã©ãªãŒã¢ã€ãã ã2å2è¡ã«ãŸãããããèŠèŠçã«è峿·±ãã¬ã€ã¢ãŠããäœæããæ¹æ³ã瀺ããŠããŸãã
3. è€éãªãã©ãŒã ã¬ã€ã¢ãŠãã®äœæ
ååä»ãã©ã€ã³ã䜿çšãããšãã©ãã«ãšå ¥åãã£ãŒã«ããé©åã«æŽåãããè€éãªãã©ãŒã ã¬ã€ã¢ãŠãã®äœæãç°¡çŽ åã§ããŸãã
.form {
display: grid;
grid-template-columns: [label-start] auto [label-end input-start] 1fr [input-end];
grid-template-rows: repeat(auto-fill, minmax(40px, auto));
grid-gap: 5px;
}
label {
grid-column: label-start / label-end;
}
input {
grid-column: input-start / input-end;
}
/* Add labels and input fields for each form element */
ãã®äŸã§ã¯ããã¹ãŠã®ã©ãã«ãå·Šã«ãå ¥åãã£ãŒã«ããå³ã«æŽåãããã¯ãªãŒã³ã§æŽçããããã©ãŒã ã¬ã€ã¢ãŠããäœæãããŸãã
ã°ããŒãã«ãªèæ ®äºé
CSS ã°ãªãããç¹ã«ååä»ãã©ã€ã³ãã°ããŒãã«ãªãããžã§ã¯ãã§äœ¿çšããå Žåãæ¬¡ã®ç¹ã«çæããŠãã ããïŒ
- å³ããå·ŠãžïŒRTLïŒã®èšèªïŒ CSS ã°ãªããã¯èªåçã«RTLèšèªãåŠçããŸãããã ããRTLã³ã³ããã¹ãã§ã¬ã€ã¢ãŠããæ£ãã衚瀺ãããããã«ãååä»ãã©ã€ã³ãã°ãªããæ§é ã調æŽããå¿
èŠãããå ŽåããããŸããè«çããããã£ïŒäŸïŒ
leftãrightã®ä»£ããã«startãendïŒã¯éåžžã«åœ¹ç«ã¡ãŸãã - ç°ãªãæåã»ããïŒ ååä»ãã©ã€ã³ãšCSSã»ã¬ã¯ã¿ãããã¹ãŠã®æåã»ããã§ãµããŒããããŠããæåã䜿çšããŠããããšã確èªããŠãã ãããäžéšã®ç°å¢ã§åé¡ãåŒãèµ·ããå¯èœæ§ã®ããç¹æ®æåãéASCIIæåã®äœ¿çšã¯é¿ããŠãã ããã
- ã¢ã¯ã»ã·ããªãã£ïŒ ã°ãªããã¬ã€ã¢ãŠããèšèšããéã«ã¯ãã¢ã¯ã»ã·ããªãã£ãåªå ããããšãå¿ããªãã§ãã ãããã»ãã³ãã£ãã¯ãªHTMLãšARIA屿§ã䜿çšããŠãé害ãæã€ãŠãŒã¶ãŒãã³ã³ãã³ããããã²ãŒããçè§£ããããã®ä»£æ¿æ¹æ³ãæäŸããŸãã
- ããã©ãŒãã³ã¹ïŒ CSS ã°ãªããã¯äžè¬çã«ããã©ãŒãã³ã¹ãé«ãã§ãããå€ãã®ååä»ãã©ã€ã³ãéãªãåãèŠçŽ ãæã€è€éãªã°ãªããã¬ã€ã¢ãŠãã¯ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããã¹ã ãŒãºãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã確ä¿ããããã«ãã°ãªããæ§é ãæé©åããäžå¿ èŠãªè€éããé¿ããŠãã ããã
- ãã¹ãïŒ ãã¹ãŠã®ç°å¢ã§æ£ãã衚瀺ãããããã«ãããŸããŸãªãã©ãŠã¶ãããã€ã¹ãç»é¢ãµã€ãºã§ã°ãªããã¬ã€ã¢ãŠãã培åºçã«ãã¹ãããŠãã ããããã©ãŠã¶ã®éçºè ããŒã«ã䜿çšããŠãã°ãªããæ§é ãæ€æ»ããã³ãããã°ããŸãã
é«åºŠãªãã¯ããã¯
`grid-template-areas` ãšååä»ãã©ã€ã³ã®äœ¿çš
ãã®èšäºã§ã¯ grid-template-columns ãš grid-template-rows ã§å®çŸ©ãããååä»ãã°ãªããã©ã€ã³ã«çŠç¹ãåœãŠãŠããŸãããgrid-template-areas ãã°ãªããã¬ã€ã¢ãŠããå®çŸ©ããããã®å¥ã®åŒ·åãªã¡ã«ããºã ãæäŸããŠããããšã¯æ³šç®ã«å€ããŸããåãšè¡ã§å®çŸ©ãããååä»ãã©ã€ã³ããšãªã¢ãšçµã¿åãããããšã§ãéåžžã«è¡šçŸåè±ãã§ä¿å®æ§ã®é«ãã¬ã€ã¢ãŠããäœæã§ããŸãã
.grid-container {
display: grid;
grid-template-columns: [col-start] 1fr [col-middle] 1fr [col-end];
grid-template-rows: [row-start] 1fr [row-middle] 1fr [row-end];
grid-template-areas:
"header header header"
"sidebar main main"
"footer footer footer";
}
header {
grid-area: header;
}
sidebar {
grid-area: sidebar;
}
main {
grid-area: main;
}
footer {
grid-area: footer;
}
ãã®äŸã§ã¯ãåãšè¡ã®ã©ã€ã³ãå®çŸ©ãããŠããäžæ¹ã§ã`grid-template-areas` ãé åãå®çŸ©ããåã¢ã€ãã ããã®é åã«å²ãåœãŠãã®ã«åœ¹ç«ã£ãŠããŸãã
ååä»ãã©ã€ã³ãšCSS倿°ã®çµã¿åãã
ããã«é«ãæè»æ§ãšåå©çšæ§ãåŸãããã«ãååä»ãã©ã€ã³ãCSS倿°ãšçµã¿åãããããšãã§ããŸããããã«ããã倿°ã®å€ã«åºã¥ããŠã°ãªããæ§é ãåçã«å®çŸ©ã§ããŸãã
:root {
--grid-column-count: 3;
}
.grid-container {
display: grid;
grid-template-columns: repeat(var(--grid-column-count), [col-start] 1fr) [col-end];
}
ãã®äŸã§ã¯ãã°ãªããã®åæ°ã¯ --grid-column-count 倿°ã«ãã£ãŠæ±ºå®ãããããã¯JavaScriptãã¡ãã£ã¢ã¯ãšãªã䜿çšããŠåçã«å€æŽã§ããŸãã
çµè«
CSS ã°ãªããã®ååä»ãã©ã€ã³è§£æ±ºãšã©ã€ã³åç §èšç®ãçè§£ããããšã¯ãCSS ã°ãªããã¬ã€ã¢ãŠããç¿åŸããããã«äžå¯æ¬ ã§ããã»ãã³ãã£ãã¯ãªååã®äœ¿çšãåœåèŠåã®ç¢ºç«ããããŠè§£æ±ºã¢ã«ãŽãªãºã ã®çè§£ã«ãããWebãããžã§ã¯ãã®ããã«æè»ã§ä¿å®æ§ãé«ããã¬ã¹ãã³ã·ããªã¬ã€ã¢ãŠããäœæã§ããŸããã¢ã¯ã»ã·ããªãã£ãåªå ããã¬ã€ã¢ãŠãã培åºçã«ãã¹ãããéçºè ããŒã«ã®åãæŽ»çšããŠã°ãªããæ§é ããããã°ããã³æé©åããããšãå¿ããªãã§ãã ãããç·Žç¿ãšå®éšãéããããšã§ãCSS ã°ãªããã®æœåšèœåãæå€§éã«åŒãåºããèŠäºã§æ©èœçãªWebãã¶ã€ã³ãäœæã§ããããã«ãªãã§ãããã
ãã®ã¬ã€ãã¯ãCSS ã°ãªããã®ååä»ãã©ã€ã³ã广çã«çè§£ã䜿çšããããã®åŒ·åºãªåºç€ãæäŸããã¯ãã§ããCSS ã°ãªããã§å©çšå¯èœãªããŸããŸãªæ©èœããã¯ããã¯ãæ¢æ±ãç¶ããWebéçºã¹ãã«ãåäžãããã°ããŒãã«ãªèŠèŽè ã®ããã«é©æ°çã§é åçãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåµé ããŠãã ããã